<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Porter-Stemmer-Algorithmus</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Porter-Stemmer-Algorithmus"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Porter-Stemmer-Algorithmus rootpage-Porter-Stemmer-Algorithmus skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Porter-Stemmer-Algorithmus</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p>Der <b>Porter-Stemmer-Algorithmus</b> ist ein verbreiteter <a href="Algorithmus" title="Algorithmus">Algorithmus</a> der <a href="Computerlinguistik" title="Computerlinguistik">Computerlinguistik</a> zum automatischen Zurückführen von Wörtern auf ihren Wortstamm (<a href="Stemming" title="Stemming">Stemming</a>). Der Algorithmus basiert auf einer Menge von Verkürzungsregeln, die so lange auf ein Wort angewandt werden, bis dieses eine Minimalanzahl von <a href="Silbe" title="Silbe">Silben</a> aufweist. Der ursprünglich für Wörter der <a href="Englische_Sprache" title="Englische Sprache">englischen Sprache</a> entwickelte Algorithmus kann relativ leicht für andere Sprachen portiert werden.
</p>
<div class="mw-heading mw-heading2"><h2 id="Funktionsweise">Funktionsweise</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Bestimmung_der_Silbenanzahl">Bestimmung der Silbenanzahl</h3></div>
<p>Maßgeblich ist genaugenommen nicht die Anzahl der Silben, sondern die Anzahl der Vokal-Konsonant-Sequenzen. Jedes Wort lässt sich als eine Zeichenkette der Form <span style="font-family:monospace;">[C](VC)<sup>m</sup>[V]</span> interpretieren, wobei <span style="font-family:monospace;">C</span> für eine Folge von einem oder mehreren Konsonanten und <span style="font-family:monospace;">V</span> für eine Folge von einem oder mehreren Vokalen steht. Gemessen wird die Anzahl <span style="font-family:monospace;">m</span> der Vokal-Konsonant-Sequenzen zwischen optional führenden Konsonanten und einer optionalen Folge von Vokalen am Ende.
</p><p><i>Beispiele</i>:
</p>
<ul><li>tr-ee, t-o (m=0)</li>
<li>w-<b>eb</b>, <b>ant</b> (m=1)</li>
<li>b-<b>etw-een</b> (m=2)</li>
<li>W-<b>ik-ip-ed</b>-ia (m=3)</li></ul>
<div class="mw-heading mw-heading3"><h3 id="Verkürzungsregeln"><span id="Verk.C3.BCrzungsregeln"></span>Verkürzungsregeln</h3></div>
<p>Die Verkürzungsregeln bestehen aus Paaren von Bedingungen und Ableitungen für verschiedene <a href="Suffix" title="Suffix">Suffixe</a> (Wortendungen). Die Regeln sind in Gruppen zusammengefasst, die nacheinander abgearbeitet werden. Aus jeder Gruppe darf nur eine Regel angewandt werden.
</p><p><i>Beispiel</i>:
Die erste Gruppe beinhaltet die Suffix-Verkürzungsregeln "sses" → "s", "ies" → "i" und "s" → "", die beispielsweise zu den Ableitungen "librar<b>ies</b>" → "librari" und "Wiki<b>s</b>" → "Wiki" führen.
Eine später folgende Gruppe besteht aus der Regel "y" → "i", so dass beispielsweise das Wort "librar<b>y</b>" auf den gleichen Stamm ("library" → "librari") zurückgeführt wird.
</p>
<div class="mw-heading mw-heading2"><h2 id="Implementierungen">Implementierungen</h2></div>
<p>Auf der Webseite des Porter-Stemmer-Algorithmus finden sich Implementierungen in mehreren <a href="Programmiersprache" title="Programmiersprache">Programmiersprachen</a>. Unter <i>snowballstem.org</i> befindet sich die von Martin Porter entwickelte Zeichenkettenverarbeitungssprache "Snowball", mit deren Hilfe Porter-Stemmer beschrieben werden können. Dort findet man auch einen Porter-Stemmer für die deutsche Sprache.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Anmerkungen">Anmerkungen</h2></div>
<p>Die aus einem Wort abgeleiteten Stämme entsprechen oft nicht den linguistisch korrekten Wortstämmen. Da das Ziel des Stemmings jedoch keine linguistische Analyse ist, sondern verwandte Worte auf ein und dieselbe Zeichenkette zurückgeführt werden sollen, spielt dies keine Rolle.
</p><p>Wie praktisch alle Stemming-Algorithmen arbeitet auch der Porter-Stemmer nicht mit hundertprozentiger Genauigkeit, so dass es bei einigen Worten vorkommen kann, dass zu viel (<i>Overstemming</i>) oder zu wenig (<i>Understemming</i>) abgeschnitten wird. In der Praxis ist er jedoch ausreichend gut (siehe auch weitere Hintergrundinformationen zum Thema im Artikel <a href="Stemming" title="Stemming">Stemming</a>).
</p>
<div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2></div>
<ul><li>M.F. Porter: <i>An algorithm for suffix stripping</i>. In: Program, 14(3), S. 130–137, Juli 1980</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://tartarus.org/martin/PorterStemmer/">The Porter Stemming Algorithm</a> – Martin Porters Webseite zum Porter-Stemming-Algorithmus</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><span class="cite">Martin Porter: <a rel="nofollow" class="external text" href="https://snowballstem.org/"><i>Snowball: A language for stemming algorithms.</i></a><span class="Abrufdatum"> Abgerufen am 11. Februar 2019</span> (englisch).</span><span style="display: none;" class="Z3988" title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&rfr_id=info%3Asid%2Fde.wikipedia.org%3APorter-Stemmer-Algorithmus&rft.title=Snowball%3A+A+language+for+stemming+algorithms&rft.description=Snowball%3A+A+language+for+stemming+algorithms&rft.identifier=https%3A%2F%2Fsnowballstem.org%2F&rft.creator=Martin+Porter&rft.date=&rft.language=en"> </span></span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2024-05-01" href="https://de.wikipedia.org/wiki/?title=Porter-Stemmer-Algorithmus&oldid=244554879">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>